#define _CRT_SECURE_NO_WARNINGS
//class Solution {
//public:
//    int maxArea(vector<int>& height) {
//        int right = height.size() - 1;
//        int left = 0;
//        int ret = 0;
//        while (right > left)
//        {
//            int v = (right - left) * min(height[right], height[left]);
//            ret = max(ret, v);
//            height[right] > height[left] ? ++left : --right;
//        }
//        return ret;
//    }
//};

//class Solution {
//public:
//    int triangleNumber(vector<int>& nums)
//    {
//        sort(nums.begin(), nums.end());
//
//        int ret = 0;
//        int n = nums.size();
//        for (int i = n - 1; i >= 2; --i)
//        {
//            int left = 0, right = i - 1;
//            while (left < right)
//            {
//                if (nums[left] + nums[right] > nums[i])
//                {
//                    ret += right - left;
//                    --right;
//                }
//                else
//                {
//                    ++left;
//                }
//            }
//        }
//        return ret;
//    }
//};